
#ifndef JAVAINITARG_H
#define JAVAINITARG_H

namespace Pan
{

    class EmbeddedJavaVM;

    /**
     * @brief Java 虚拟机初始化参数
     */
    class JavaVmInitArg
    {
    public:
        friend class EmbeddedJavaVM;

    protected:
        void *args; // JavaVMInitArgs 结构体指针

        void *options; // JavaVMOption 结构体数组指针

        const unsigned int max_option_count; // 最大选项数量

    public:
        /**
         * @brief 构造函数
         * @param max_option_count 虚拟机选项的数量
         */
        JavaVmInitArg(unsigned int max_option_count);
        ~JavaVmInitArg();

    public:
        /**
         * @brief 添加一个虚拟机选项
         * @param option 选项字符串
         * @return 是否添加成功
         */
        bool add_option(const char *option);
    };

}

#endif // JAVAINITARG_H